#!/bin/bash
# git clone https://github.com/daanx/mimalloc-bench
# git clone https://github.com/pramalhe/CX
# git submodule init git3rd
# git submodule update git3rd

# 切换版本
# cd ./git3rd/mimalloc-bench
# git checkout 4b525f9
# cd ../..

curpath=`pwd`
nproc=`nproc`

# 获得CX
cd ./git3rd
git clone https://github.com/pramalhe/CX
cd ./CX
git checkout 405ec9b
# 应用cx补丁
git apply ../patches/cx.patch
cd ${curpath}

# 编译mimalloc-bench
cd ./git3rd
git clone https://github.com/daanx/mimalloc-bench
cd ./mimalloc-bench
git checkout 4b525f9
# 应用补丁
git apply ../patches/0001-my-fix.patch
cd ${curpath}

# mimalloc-bench的补丁修改内容
# - sh8bench的void main改为int main，增加return 0。避免可能出现非零状态返回值，影响python数据处理。
# - 修复hoard可能无法通过clang编译的问题
# - 增加计算几何平均数的python脚本
# - 原本z3求解器测试项中测试输入规模太小，难以区分各分配器性能和内存利用率，现修改为1800行约束不等式的测试规模。
# - 增加bench_my.sh脚本以便libmetalc测试
# - 所有benchmark使用O3编译，节省运行时间
echo "成功应用补丁, 请执行./build3rd.sh开始编译"
